www.gusucode.com > ROCKOA PHP协同办公OA办公系统 v2.0PHP源码程序 > ROCKOA PHP协同办公OA办公系统 v2.0/rockoa_v2.0/rockoa_v2.0/webrock/extjs/rock/rate.js
/** 设置频率使用的 create:Chenxihu createdt:2013-11-04 17:19:00 */ var rockrateobject={}; Ext.define('Ext.rock.rate', { extend: 'Ext.form.field.Display', alias: 'widget.rockrate', onDestroy:function(){ if(this.windowss)Ext.destroy(this.windowss); this.callParent(); }, ratetypestore:[], initComponent: function(){ var me = this; Ext.applyIf(this,{ typebasebool:false, rand:js.getrand(), wintitle:me.fieldLabel, tablename:'task', height:80, ratetypestring:'仅一次,分钟,小时,天,工作日,休息日,周一,周二,周三,周四,周五,周六,周日,月,年', ratetypestrbase:'仅一次,天,工作日,周一,周二,周三,周四,周五,周六,周日,月,年' }); rockrateobject[me.rand] = me; var s= '<div id="rockrateshow_'+me.rand+'" class="x-form-text" style="height:'+me.height+'px;overflow:auto;padding:0px"></div><div><a href="javascript:" class="blue" id="aclick_'+me.rand+'" onclick="return rockrateobject[\''+me.rand+'\'].setpinlvshow(this)"><img src="'+gicons('add')+'" width=16 height=16 align="absmiddle"> 添加</a> <font color="#aaaaaa">单击编辑</font></div>'; me.value = s; me.ratetypestore = js.arraystr((me.typebasebool)?me.ratetypestrbase:me.ratetypestring); me.callParent(); }, setpinlvshow:function(){ var me = this; if(!me.windowss){ var cans = winopt({title: '设置'+me.wintitle+'',width:400,items:{ id:'rateform_'+me.rand+'',border:false,bbarbool:false,submittext:'确定',tablename:'tasktime', submitfields:'atype,rateval,shijian,startdt,enddt,stime,etime', params:{int_filestype:'rateval',otherfields:'optdt={now}'}, cancelbool:true, xtype:'rockform',items:[{ fieldLabel:'id号',value:'0',name:'idPost',hidden:true },{ fieldLabel:'开始时间',name:'startdtPost',xtype:'rockdate',editable:false,format:'datetime',clearbool:true,hidden:true,onpicked:function(){me.showchane()} },{ xtype: 'fieldcontainer',defaultType: 'textfield',layout:'hbox',items:[{ fieldLabel:''+bitian+'重复类型',name:'atypePost',value:'仅一次',xtype:'combo',store:me.ratetypestore,editable:false,width:180,listeners:{change:function(){me.changeaatype()}} },{ xtype: 'fieldcontainer',id:'atypevalss_'+me.rand+'',padding:0,margin:0,hidden:true,layout:'hbox',items:[{ xtype:'displayfield',value:'<div align="right">每 </div>',width:50,padding:0 },{ xtype:'numberfield',minValue:1,value:1,width:50,editable:true,name:'ratevalPost',padding:0 },{ xtype:'displayfield',value:'小时',width:60,name:'atypevalPost' }] }] },{ xtype: 'fieldcontainer',hidden:true,id:'meitian_'+me.rand+'',defaultType: 'textfield',layout:'hbox',items:[{ fieldLabel:'每天运行从',name:'stimePost',xtype:'rockdate',format:'H:i',editable:false,width:190,onpicked:function(){me.showchane()},clearbool:true },{ fieldLabel:'至',name:'etimePost',xtype:'rockdate',format:'H:i',editable:false,width:130,labelWidth:20,onpicked:function(){me.showchane()},clearbool:true }] },{ fieldLabel:''+bitian+'时间',name:'shijianPost',id:'shijian_'+me.rand+'',xtype:'trigger',editable:false,triggerCls:'x-form-date-trigger',onTriggerClick:function(){me.changedt()} },{ fieldLabel:'截止时间',name:'enddtPost',xtype:'rockdate',editable:false,format:'datetime',clearbool:true,hidden:true,onpicked:function(){me.showchane()} },{ fieldLabel:'备注',name:'showfields',xtype:'displayfield',id:'showfields'+me.rand+'' }], success:function(da,obc){ var ss = getcmp('showfields'+me.rand+'').getValue(); me.addneris(ss, da.id); me._savesuccess(da.id); me.windowss.hide(); obc.setmsg(''); }, submitcheck:function(){ var v = me.winform.field('atypePost').getValue(); var d = me.winform.field('shijianPost').getValue(); if(isempt(v))return'没有重复选择类型'; if(isempt(d))return'请选择时间'; me.showchane(); return ''; } }}); me.windowss = Ext.create('Ext.Window',cans); } me.windowss.show(); me.winform = getcmp('rateform_'+me.rand+''); me.winform.reset(); me.winform.setmsg('新增状态','blue'); return false; }, changeaatype:function(){ var v = this.winform.field('atypePost').getValue(), o = []; o[0] = getcmp('meitian_'+this.rand+''); o[1] = getcmp('atypevalss_'+this.rand+''); if(v=='仅一次'){ o[1].hide(); this.winform.field('startdtPost').hide(); this.winform.field('enddtPost').hide(); }else{ o[1].show(); this.winform.field('startdtPost').show(); this.winform.field('enddtPost').show(); } this.winform.setVal('atypeval', v); this.winform.setVal('shijian',''); if(v=='小时'||v=='分钟'){ o[0].show(); }else{ o[0].hide(); this.winform.setVal('stime',''); this.winform.setVal('etime',''); } this.showchane(); }, showchane:function(cad){ var me = this,v,st,et,sj,sv,vs,ve; if(!cad){ v = me.winform.getVal('atype'); st = me.winform.getVal('startdt'); et = me.winform.getVal('enddt'); sj = me.winform.getVal('shijian'); sv = me.winform.getVal('rateval'); vs = me.winform.getVal('stime'); ve = me.winform.getVal('etime'); } if(cad){ v = cad.atype, st = cad.startdt, et = cad.enddt, sj = cad.shijian, sv = cad.rateval; vs = cad.stime; ve = cad.etime; } var s = '',s1=''; if(v=='仅一次'){ s = v+' '+sj+''; }else{ if(me.winform){ if(v=='工作日'||v=='休息日'){ me.winform.field('ratevalPost').hide(); sv=1; }else{ me.winform.field('ratevalPost').show(); }} s = ''; if(!isempt(st))s+='从'+st+'开始 '; s+= '每'; if(sv>1)s+=sv; s+= v; s+= '的'+sj+''; if(!isempt(vs))s1=' 每天从'+vs+'开始'; if(!isempt(ve))s1+='至'+ve+'结束'; s+=s1; if(!isempt(et))s+=' 在'+et+'截止'; } if(!cad)getcmp('showfields'+me.rand+'').setValue(s); return s; }, changedt:function(){ var me= this; var v = this.winform.field('atypePost').getValue(); var lx='yyyy-MM-dd HH:mm:ss'; if(v=='小时')lx='mm分ss秒'; if(v=='天' || v=='工作日' || v=='休息日' || v.indexOf('周')==0)lx='HH时mm分ss秒'; if(v=='月')lx='dd日 HH时mm分ss秒'; if(v=='年')lx='MM月dd日 HH时mm分ss秒'; if(v=='分钟')lx='ss秒'; var da = {el:'shijian_'+this.rand+'-inputEl'}; da.dateFmt = lx; da.onpicked= function(){ me.showchane(); }; WdatePicker(da); }, addneris:function(ss ,ids){ var me= this; var o = $('#rockrateshow_'+this.rand+''),assid='itemsa_a'+this.rand+'_'+ids+'', s = '<div id="'+assid+'" tempid="'+ids+'" onmouseover="this.style.backgroundColor=\'#f1f1f1\'" onmouseout="this.style.backgroundColor=\'\'" style="padding:6px 5px;border-bottom:1px #eeeeee solid"><a>1</a>、<span>'+ss+'</span><font style="display:none">'+ids+'</font></div>'; $('#'+assid+'').remove(); o.append(s); this.resetsizeloxu(); $('#'+assid+'').click(function(event){ me.clickitemss(event, this); }); }, clickitemss:function(e, od){ var me = this; this.clickdivo = od; if(!this.optnumabc){ this.optnumabc=Ext.create('Ext.menu.Menu',{ items:[{ text:'修改',handler:function(){me.edititems()},icon:gicons('edit') },'-',{ text:'删除',handler:function(){me.delitems()},icon:gicons('delete') }] }); } this.optnumabc.showAt([e.clientX,e.clientY]); }, delitems:function(){ $(this.clickdivo).remove(); this.resetsizeloxu(); }, _savesuccess:function(sid){ this.loadinforarr[sid]=this.winform.getValuess(); }, edititems:function(){ var ssid = $(this.clickdivo).attr('tempid'); var data = this.loadinforarr[ssid]; this.setpinlvshow(); this.winform.adddata(data); this.winform.setVal('id', ssid); this.winform.setmsg('修改状态','blue'); this.showchane(); }, resetsizeloxu:function(){ var o = $('#rockrateshow_'+this.rand+'').find('a'); for(var i=0;i<o.length;i++)o[i].innerHTML=(''+(i+1)+''); }, loadinforarr:{}, reset:function(){ $('#rockrateshow_'+this.rand+'').html(''); if(!this.winform)return; this.winform.reset(); this.winform.setmsg(''); }, loadinfor:function(ids){ var me = this, ho = $('#rockrateshow_'+me.rand+''); ho.html(js.getmsg('加载中...', '#555555')); me.loadinforarr= {}; if(ids=='0'){ ho.html(''); return; } $.get(js.getajaxurl('gettaketime','task','system',{mid:ids,table:me.tablename}),function(da){ ho.html(''); var a = js.decode(da),ss; for(var i=0;i<a.length;i++){ me.loadinforarr[a[i].id]=a[i]; ss = me.showchane(a[i]); me.addneris(ss, a[i].id); } }); }, getresult:function(){ var o = $('#rockrateshow_'+this.rand+'').find('font'), o1 = $('#rockrateshow_'+this.rand+'').find('span'); var s = '',i,s1=''; for(i=0;i<o.length;i++){ s+=','+o[i].innerHTML+''; s1+=''+o1[i].innerHTML+'\n'; } if(s!='')s=s.substr(1); return [s,s1]; } });